﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Atlandiz.Data;

namespace Atlandiz.EnvanterVeZimmetYonetimi
{
    public partial class ListeTedarikci : DevExpress.XtraEditors.XtraForm
    {
        public bool ForSelection = false;

        public ListeTedarikci()
        {
            InitializeComponent();
        }

        public void TedarikciYukle()
        {
            string Sorgu = "Select \n"+
                "t.tID,\n"+
                "t.tFirmaUnvan,\n"+
                "t.Adres,\n"+
                "t.Tel1,\n"+
                "t.Tel2,\n"+
                "t.Fax,\n"+
                "t.Email,\n"+
                "y.yetAdSoyad \n"+
                   "from Tedarikci t \n"+
                   "   left join Yetkili y on t.yetID=y.yetID \n"+
                   "where t.isDeleted=0";
            
            
            _lwTedarikciler.Items.Clear();
            DataTable dt = Army.SQL().GetDataTable(Sorgu);

            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());
                ls.SubItems.Add(item[2].ToString());
                ls.SubItems.Add(item[3].ToString());
                ls.SubItems.Add(item[4].ToString());
                ls.SubItems.Add(item[5].ToString());
                ls.SubItems.Add(item[6].ToString());
                ls.SubItems.Add(item[7].ToString());

                _lwTedarikciler.Items.Add(ls);
            }

        }

        private void TedarikciLst_Load(object sender, EventArgs e)
        {
            Army.EventConfirm = false;
            TedarikciYukle();
        }


        public void KDuzenle()
        {
            FormTedarikci tedarikciFormu = new FormTedarikci();
            tedarikciFormu.KayID = int.Parse(_lwTedarikciler.SelectedItems[0].SubItems[0].Text);
            tedarikciFormu.ShowDialog();
            TedarikciYukle();
        }

        private void düzenleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Army.UserTipi == 1)
            {
                if (_lwTedarikciler.SelectedItems.Count > 0)
                {
                    KDuzenle();
                }
                else
                {
                    MessageBox.Show("Lütfen, düzenlenecek kaydı seçiniz...");
                }
            }
            else
            {
                MessageBox.Show("Bu işlem için Yönetici olmanız gerekir!", "Yetkisiz İşlem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

        }

        private void silToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (Army.UserTipi == 1)
            {
                if (_lwTedarikciler.SelectedItems.Count > 0)
                {
                    PopupAreYouSure SilOnay = new PopupAreYouSure();
                    Army.EventMessage = "Seçilen Tedarikçi Silinecek,\nEmin misiniz?";
                    SilOnay.ShowDialog();

                    if (Army.EventConfirm)
                    {
                        Army.SQL().cmd("Update Tedarikci SET isDeleted=1 where tID=" + _lwTedarikciler.SelectedItems[0].SubItems[0].Text.ToString());
                        MessageBox.Show("Seçilen Tedarikçi Silindi.", "Kayıt Silindi.", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        TedarikciYukle();
                        //sil komutu
                    }
                }
            }
            else
            {
                MessageBox.Show("Bu işlem için Yönetici olmanız gerekir!", "Yetkisiz İşlem", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }


        }

        private void listView1_DoubleClick(object sender, EventArgs e)
        {
            if (_lwTedarikciler.SelectedItems.Count > 0 & ForSelection)
            {
                Army.SecilenID = int.Parse(_lwTedarikciler.SelectedItems[0].SubItems[0].Text);
                Army.EventConfirm = true;
                this.Close();
            }
        }

        private void _btnYeni_Click(object sender, EventArgs e)
        {
            FormTedarikci t = new FormTedarikci();
            t.ShowDialog();
            TedarikciYukle();
        }

        private void _btnKapat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void _btnYetkiliListesi_Click(object sender, EventArgs e)
        {
            ListeYetkili yl = new ListeYetkili();
            yl.ShowDialog();
        }

        private void _btnListeGuncelle_Click(object sender, EventArgs e)
        {
            TedarikciYukle();
        }

        private void _btnAra_Click(object sender, EventArgs e)
        {
            string Sorgu = "Select \n" +
                "t.tID,\n" +
                "t.tFirmaUnvan,\n" +
                "t.Adres,\n" +
                "t.Tel1,\n" +
                "t.Tel2,\n" +
                "t.Fax,\n" +
                "t.Email,\n" +
                "y.yetAdSoyad \n" +
                   "from Tedarikci t \n" +
                   "   left join Yetkili y on t.yetID=y.yetID \n" +
                   "where t.isDeleted=0 and \n" +
                       "t.tFirmaUnvan like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "t.Adres like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "t.Tel1 like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "t.Tel2 like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "t.Fax like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "t.Email like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' or \n" +
                       "y.yetAdSoyad like '%" + _txtAraString.Text.ToString().Replace("'", "''") + "%' ";

            _lwTedarikciler.Items.Clear();
            DataTable dt = Army.SQL().GetDataTable(Sorgu);

            foreach (DataRow item in dt.Rows)
            {
                ListViewItem ls = new ListViewItem(item[0].ToString());
                ls.SubItems.Add(item[1].ToString());
                ls.SubItems.Add(item[2].ToString());
                ls.SubItems.Add(item[3].ToString());
                ls.SubItems.Add(item[4].ToString());
                ls.SubItems.Add(item[5].ToString());
                ls.SubItems.Add(item[6].ToString());
                ls.SubItems.Add(item[7].ToString());

                _lwTedarikciler.Items.Add(ls);
            }
            _txtAraString.Focus();
        }
    }
}